<?php

namespace app\api\controller;

use think\Db;

/**
 * @title 学校
 * @description 接口说明
 * @group api
 * @header name:authorization require:1 default: desc:登陆的token
 */

class School extends Base
{
    /**
     * @title 院校列表(get)
     * @description 接口说明
     * @author wang
     * @url /api/school
     * @method GET
     *
     * @param name:code type:int require:1 default:1 other: desc:专业代码，既之前选择的专业的代码
     * @param name:type type:int require:0 default:1 other: desc:选择学习方式（1为全日制2 非全日制）
     * @param name:keywords type:int require:0 default:1 other: desc:搜索框搜索的关键字
     * @param name:place type:int require:0 default:20 other: desc:（1为一区,2为二区）
     * @param name:tags type:int require:0 default:20 other: desc: 学校属性，211，985 双一流等等

     * @return size:每页最大数，默认20，可由前端传递参数决定 page参数返回值，
     * @return page:当前页，page参数返回值，

     *
     * @return data:消息列表,有page参数则返回值list，list是一个数组@
     * @list sid:专业的id speciality_name:专业的名字 tags:学校的标签（985、211） photo:学校的图片 place:学校一区或者二区 direction_name:研究方向的名字
     *

     */
    public function gets()
    {
        $page =input('get.page');
        $size =input('get.size');
        $map=[];
       $this->_searchPage($map);
        $list = Db::view('speciality', ['id' => 'sid', 'name' => 'speciality_name','type'=>'type'])
            ->view('school', 'tags,photo', 'school.id=speciality.school_id', 'LEFT')
            ->view('province', 'place', 'province.id=school.province_id', 'LEFT')
            ->view('direction', ['name'=>'direction_name'], 'speciality.id=direction.id', 'LEFT')
            ->where($map)
            ->limit($page*$size,$size)
            ->select();
        $data['page'] =$page;
        $data['size'] =$size;
foreach ($list as $k=>$v){
    $list[$k]['tags']=unSerializeByJson($v['tags']);
}
        $data['list'] =$list;
        $this->responseSuccess($data);


    }
    protected function _searchPage(&$where)
    {
        $type = input('get.type');
        if (!empty($type)) {
            $where[] = ["type", '=', $type];
        }
        $place = input('get.place');
        if (!empty($place)) {
            $where[] = ["place", '=', $place];
        }
        $tags = input('get.tags');
        if (!empty($tags)) {
            $where[] = ["tags", '=', "%".$tags."%"];
        }
        $code= input('get.code');
        if (!empty($code)) {
            $where[] = ["code", '=', $code];
        }
        $keywords= input('get.keywords');
        if (!empty($keywords)) {
            $where[] = ["speciality_name", 'like', "%".$keywords."%"];
        }
        $province_id= input('get.province_id');
        if (!empty($province_id)) {
            $where[] = ["province_id", '=', $province_id];
        }
    }
    /**
     * @title 专业课-院校((get)
     * @description 接口说明
     * @author wang
     * @url /api/school
     * @method GET
     *
     * @param name:province_id type:int require:1 default:1 other: desc:省份的代码用于筛选某个省份下的学学校列表


     * @return size:每页最大数，默认20，可由前端传递参数决定 page参数返回值，
     * @return page:当前页，page参数返回值，
     * @return count:总记录数， page参数返回值，
     *
     * @return data:消息列表,有page参数则返回值list，list是一个数组@
     * @list id:门类的id city:门类的名字 create_time:创建时间 num:学科数量
     *

     */
    public function gets_v2()
    {

        model('school')->listExceptField =['tags','sort','city_id','province_id','abbr','create_time','update_time'];

      parent::gets();

    }
}
